package org.training.person.mason.client;

import java.util.Set;

import org.training.person.mason.client.forms.ContactForm;
import org.training.person.mason.client.forms.EducationForm;
import org.training.person.mason.client.forms.RelationShipForm;
import org.training.person.mason.client.forms.UserInfoForm;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface UserInfoFormServiceAsync {
	UserInfoForm addUserInfoForm(UserInfoForm ui, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	void deleteUserInfoForm(UserInfoForm ui, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	UserInfoForm updateUserInfoForm(UserInfoForm ui, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	UserInfoForm addContactForm(ContactForm ContactForm, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	UserInfoForm addContactForms(Set<ContactForm> ContactForms, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	UserInfoForm addEducation(EducationForm edu, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	UserInfoForm addEducations(Set<EducationForm> edus, AsyncCallback<String> callback)
			throws IllegalArgumentException;

	UserInfoForm addRelationShip(RelationShipForm relation,
			AsyncCallback<String> callback) throws IllegalArgumentException;

	UserInfoForm addRelationShips(Set<RelationShipForm> relations,
			AsyncCallback<String> callback) throws IllegalArgumentException;
}
